export default {
  // 表单令牌
  install: function (Vue) {
    // 判断图片或文件
    Vue.prototype.commonFileJudge = function (str) {
      let img = str.split('.').pop();
      const redFruits = ['PNG', 'jpg', 'jpeg', 'png', 'gif', 'bmp', 'svg', 'psd', 'pcd', 'tif', 'pcx', 'exif', 'xls'];
      return redFruits.includes(img) ? true : false;
    };

    // 判断是pdf文件还是其他类型文件
    Vue.prototype.downfile = function (url, tagFileName) {
      if (this.commonFileJudge(url)) {
        window.open(url);
        return;
      }
      let pdfFile = url.split('.').pop();
      if (pdfFile === 'pdf') {
        window.open(url);
        return;
      } else {
        this.commonDownloadExportFile(url, tagFileName);
        // window.location.href = url;

        // return fetch(url).then((res) =>
        //     res.blob().then((blob) => {
        //         let elink = document.createElement("a");
        //         let url = window.URL.createObjectURL(blob);
        //         elink.href = url;
        //         elink.click();
        //         window.URL.revokeObjectURL(url);
        //     })
        // );
      }
    };
    // 上传模板只能是 xls、xlsx、csv格式的Excel文件
    Vue.prototype.commonExcelBeforeUpload = function (file) {
      const extension = file.name.split('.')[1];
      const isLt5M = file.size / 1024 / 1024 < 5;
      if (extension != 'xls' && extension != 'xlsx' && extension != 'csv') {
        this.$message.warning('上传模板只能是 xls、xlsx、csv格式的Excel文件!');
        return false;
      } else if (!isLt5M) {
        this.$message.warning('上传模板大小不能超过 5MB!');
        return false;
      } else {
        return true; // 返回false不会自动上传
      }
    };
    /**
     *下载导出文件
     * @param blob  ：返回数据的blob对象或链接
     * @param tagFileName  ：下载后文件名标记
     * @param fileType  ：文件类 word(docx) excel(xlsx) ppt等
     */
    Vue.prototype.commonDownloadExportFile = function (blob, tagFileName, fileType) {
      var newUrl = blob.replace('http://', 'https://');
      let downloadElement = document.createElement('a');
      let href = newUrl;
      if (typeof newUrl != 'string') {
        href = window.URL.createObjectURL(newUrl); //创建下载的链接
      }
      downloadElement.href = href;
      downloadElement.download = tagFileName; //下载后文件名
      document.body.appendChild(downloadElement);
      downloadElement.click(); //点击下载
      document.body.removeChild(downloadElement); //下载完成移除元素
      if (typeof newUrl != 'string') {
        window.URL.revokeObjectURL(href); //释放掉blob对象
      }

      // let eLink = document.createElement('a');
      // eLink.download = tagFileName;
      // eLink.style.display = 'none';
      // eLink.href = blob;
      // document.body.appendChild(eLink);
      // eLink.click();
      // document.body.removeChild(eLink);
    };
  }
};
